function User(id, login, name) {
	var self = this;
	this.id = id;
	this.login = login;
	this.name = name;

/*
	this.checkTimer = null;

	this.addBooksSubscriber = function(subscriber) {
		this.books.subscribe(subscriber);
	}

	this.updateBooks = function() {
		$.ajax({
			url: 'service/books/read.txt',
			data: { userId: this.id },
			async: true,
			cache: false,
			success: function (data, status, xhr) {
				self.books.removeAll();
				var response = jQuery.parseJSON(data);
				response.items.forEach(function(book) {
					self.books.push(new Book(book.id, book.name, book.ownerId));
				});
			},
			error: function () {}
		});
	};

	this.checkUpdates = function() {
		$.ajax({
			async: true,
			cache: false,
			url: "service/books/version.txt",
			data: { userId: self.id },
			success: function (data, status, xhr) {
				var response = jQuery.parseJSON(data);
				if(self.booksVersion() != response.booksVersion) {
					console.log('books version changed');
					self.updateBooks();
				}

				self.scheduleCheck();
			},
			error: function () {
				//todo: implement books version check error
				console.log("!!! books version check ERROR");
			}
		});
	};

	this.scheduleCheck = function() {
		this.checkTimer = setTimeout(function() {
			self.checkUpdates();
		}, this.checkInterval);
	};

	this.destroy = function() {
		if(this.checkTimer != null) {
			clearTimeout(this.checkTimer);
		}
	};

	this.isSame = function(other) {
		return other != null && this.id === other.id;
	};
*/
};